import QtQuick 1.1
import com.nokia.symbian 1.1
import "denunciaCore.js" as DenunciaCore
import "denunciaFinal.js" as Denuncia
import com.rogerio.metro 1.0

Page {
    id: mainPage

    VisualItemModel {
        id: itensModel

        DetalhePagina1 {
            width: lstPaginas.width; height: lstPaginas.height
            onFinalizado: {
                lstPaginas.currentIndex = 1;
            }
        }

        DetalhePagina2 {
            width: lstPaginas.width; height: lstPaginas.height
            onVoltar: lstPaginas.currentIndex = 0;
            onFinalizado: {
                qryCompose.idEmpresaLinha = idEmpresaLinha;
                qryCompose.open();
            }

            QueryDialog {
                id: qryCompose
                titleText: "Quase pronto..."
                message: "Deseja visualizar a mensagem antes do envio?<br />Você poderá alterar as informações, se desejar."
                acceptButtonText: "Claro"
                rejectButtonText: "Não"

                property int idEmpresaLinha: -1

                onAccepted: {
                    var detalhesUsuario = Denuncia.finalizaDenuncia();
                    sms.Previa(detalhesUsuario, qryCompose.idEmpresaLinha);
                }
                onRejected: {
                    var detalhesUsuario = Denuncia.finalizaDenuncia();
                    sms.Enviar(detalhesUsuario, qryCompose.idEmpresaLinha);
                }
            }
        }
    }

    QueryDialog {
        id: qryOk
        titleText: "Denúncia"
        message: "Mensagem de denúncia colocada na sua caixa de saída para envio!"
        acceptButtonText: "Ok"
    }

    QueryDialog {
        id: qryErr
        titleText: "Denúncia"
        message: "Ocorreu um erro ao tentar colocar a mensagem na caixa de saída! <br />" +
                 "Tente visualizar a mensagem e enviá-la através do aplicativo de mensagems."
        acceptButtonText: "Ok"
    }

    SMSMetro {
        id: sms        

        onEnviandoMensagem: {
            qryOk.open();
        }

        onErroEnvio: {
            qryErr.open();
        }
    }

    ListView {
        id: lstPaginas
        anchors { fill: parent; }
        model: itensModel        
        orientation: ListView.Horizontal
        snapMode: ListView.SnapOneItem
        preferredHighlightBegin: 0; preferredHighlightEnd: 0
        highlightRangeMode: ListView.StrictlyEnforceRange
        spacing: 5
        interactive: false
    }
}
